home *** CD-ROM | disk | FTP | other *** search
-
- function base_shot_fly1()
- local explosion = uniGetExecutor()
- explosion:setTransformOwner()
- local mshot1 = explosion:addSimpleEffect(ENET_EFFECT_SP_BASESHOT_FLY)
- local shotlight = explosion:addSimpleEffect(ENET_EFFECT_BASE_LIGHTSPOT)
-
-
- --waitDeath(explosion:addMoveEffect(ENET_EFFECT_MOVE_LINEARFLY,250,uniGetTarget()),500)
- waitDeath(explosion:forwardFly(uniGetTarget(),150))
- uniGetTarget():executeCommand(ENC_DAMAGED)
- shotlight:destroy()
- mshot1:destroy()
- local exp_ps = explosion:addSimpleEffect(ENET_EFFECT_PS_BASESHOT_EXPLOSION)
- exp_ps:suspendedDestroy(2.5)
- pause(1.5)
- explosion:destroy()
- end
-
- registerCommand(ENSCRIPTSET_BASESHOT,ENC_FIRE1,"base_shot_fly1")
-
- --
- -- dummy effect creation test
- --
- desc = getEffectDescriptionP(ENET_EFFECT_BASESHOT_FLY)
- desc.ClassID = ENCLASS_DUMMY
- desc.EffectClassType = ENECT_GEOMETRY
-
- desc.ScriptSet = ENSCRIPTSET_BASESHOT
- desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
- desc.LocalPosition = D3DXVECTOR3:new(0,0,0)
-
- desc.MoveType = ENMOVE_FLY
-
- desc.ActivityType = ENACT_COMMANDSEMIACTIVE
- --
- -- end dummy effect creation test
- --
-
-
-
-
-
-
- --
- -- lightsource creation test
- --
- desc = getEffectDescriptionP(ENET_EFFECT_BASE_LIGHTSPOT)
- desc.ClassID = ENCLASS_LIGHTSOURCE
- desc.EffectClassType = ENECT_LIGHTSOURCE
-
- desc.ScriptSet = ENSCRIPTSET_UNKNOWN
- desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
- desc.LocalPosition = D3DXVECTOR3:new(0,0,0)
-
- desc.ActivityType = ENACT_SEMIACTIVE
-
- -- add interpolators
- desc:clearInterpolators()
-
- local interpolator = createInterpolator()
- interpolator:addKey(0.0,70.0)
- interpolator:addKey(10.0,70.0)
- interpolator:finalize(false)
- -- add interpolator on light range
- desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_LIGHT_RANGE))
-
- local interpolator = createInterpolator()
- interpolator:addKey(0.0,0.0)
- interpolator:addKey(0.1,0.6)
- interpolator:addKey(0.5,0.0)
- interpolator:finalize(false)
- -- add interpolator on G colors
- desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_DIFFUSE_G))
-
- local interpolator = createInterpolator()
- interpolator:addKey(0.0,0.0)
- interpolator:addKey(0.1,0.6)
- interpolator:addKey(0.5,0.0)
- interpolator:finalize(false)
- -- add interpolator on R G colors
- desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_DIFFUSE_R))
-
- local interpolator = createInterpolator()
- interpolator:addKey(0.0,0.0)
- interpolator:addKey(0.1,0.6)
- interpolator:addKey(0.5,0.0)
- interpolator:finalize(false)
- -- add interpolator on B colors
- desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_DIFFUSE_B))
-
-
- --
- -- end lightsource creation description
- --
-
-
-
-
-
-
-
-
-
-
-
-
- --
- -- oriented sprite with interpolator
- --
- desc = getEffectDescriptionP(ENET_EFFECT_SP_BASESHOT_FLY)
-
- desc.ClassID = ENCLASS_ORIENTEDSPRITE
- desc.EffectClassType = ENECT_ORIENTEDSPRITE
-
- desc.ScriptSet = ENSCRIPTSET_UNKNOWN
- desc.FileName = "dot_alien_effect_firetrace.dds"
- desc.RelativePosition = ENLOCALPOS_NOTSPECIFIED
- desc.LocalPosition = D3DXVECTOR3:new(0,0,0)
- desc.isAnimateTexture = false
-
- desc.Material = ENMAT_PARTICLE_LIGHT
- desc.MaterialColors.Ambient.r = 0
- desc.MaterialColors.Ambient.g = 0
- desc.MaterialColors.Ambient.b = 0
- desc.MaterialColors.Ambient.a = 1
- desc.MaterialColors.Diffuse.r = 0
- desc.MaterialColors.Diffuse.g = 0
- desc.MaterialColors.Diffuse.b = 0
- desc.MaterialColors.Diffuse.a = 1
- desc.MaterialColors.Emissive.r = 0.3
- desc.MaterialColors.Emissive.g = 0.5
- desc.MaterialColors.Emissive.b = 1
- desc.MaterialColors.Emissive.a = 1
- desc.RenderType = ENRENDERTYPE_GEOMETRY
-
- spdesc = desc.OrientedSprite
- spdesc.SpriteType = EN3DSPRITE_ORIENTED
- spdesc.xsize = 8
- spdesc.ysize = 64
- spdesc.OrientAxis = D3DXVECTOR3:new(0,0,1)
- spdesc.BindAxis = D3DXVECTOR3:new(1,0,0)
- spdesc.Centering = ENCENTERING_CENTER
- spdesc.IsTargetted = false
- spdesc.TargetRelativePosition = ENLOCALPOS_NOTSPECIFIED
- spdesc.IsAxisInLocalSpace = true
-
- interpolator = createInterpolator()
- interpolator:addKey(0.0,0.0)
- interpolator:addKey(0.05,1.0)
- interpolator:addKey(0.3,0.0)
- interpolator:finalize(false)
- -- add interpolator on X scale
- desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_SCALE_X))
-
- interpolator = createInterpolator()
- interpolator:addKey(0.0,0.0)
- interpolator:addKey(0.05,1.0)
- interpolator:addKey(0.3,0.0)
- interpolator:finalize(false)
- -- add interpolator on Y scale
- desc:addInterpolator(interpolator,getFieldOffset(EN_FIELD_SCALE_Y))
-
-
- --
- -- end sprite creation description
- --
-